Исходный код
Option Explicit
Call ShowProgress()
'==============================================================================
' Показать индикатор прогресса в двух возможных режимах
'==============================================================================
Sub ShowProgress()
Dim Progress, i, Str, q, t
'Инициализировать прогрессбар...
Set Progress = ThisApplication.Dialogs.ProgressDlg
'Вывести прогресс на экран
Progress.Start
'Сначала "уложить" три этапа операции на одной шкале
For i = 1 To 3
Str = "Этап № " & i & "; процент выполнения " ' Выводим номер этапа
Progress.SetLocalRanges ((i - 1) * 100 / 3), (i * 100 / 3) ' Установка локальных границ прогресса
For q = 0 To 100
t = Timer + 0.02
Progress.Position = q ' Установка текущего процента выполнения
Progress.Text = Str & q & "%"
'Смоделировать задержку (0.02 секунды)
While Timer < t
Wend
Next
Next
'Теперь каждому этапу отвести полноценную шкалу
Progress.ResetLocalRanges
For i = 4 To 5
Str = "Этап № " & i & "; процент выполнения " ' Выводим номер этапа
For q = 0 To 100
t = Timer + 0.02
Progress.Position = q ' Установка текущего процента выполнения
Progress.Text = Str & q & "%"
'Смоделировать задержку (0.02 секунды)
While Timer < t
Wend
Next
Next
' Закрыть диалог индикатора выполнения
Progress.Stop
End Sub
'==============================================================================